package vista;
import java.awt.BorderLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.table.AbstractTableModel;




/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaCargarTiendas extends javax.swing.JFrame {
	private JPanel jpContenedorTiendas;
	private JLabel lblNombre;
	private JButton btnLimpiarTienda;
	private JComboBox cmbAmPmFin;
	private JComboBox cmbMinutosFin;
	private JComboBox cmbHoraFin;
	private JComboBox cmbAmPmInicio;
	private JComboBox cmbMinutosInicio;
	private JComboBox cmbHoraInicio;
	private JButton btnBuscar;
	private JButton btnSalirTienda;
	private JTextField txtNombre;
	private JLabel lblCodio;
	private JTable tblListadoTiendas;
	private JLabel lblHorarioTerminar;
	private JScrollPane scpTiendas;
	private JButton btnGuargarTiendas;
	private JFileChooser fcVentanaAbrir;
	private JButton btnCargarTiendas;
	private JTextField txtCodigo;
	private JLabel lblHorario;
	private JTextField txtDireccion;
	private JLabel lblDireccion;
	private LayoutManager jpContenedorTiendasLayout;
	private static VentanaCargarTiendas instancia1;

	/**
	* Auto-generated main method to display this JFrame
	*/
	
	public VentanaCargarTiendas() {
		super();
		initGUI();
	}
	
	public static VentanaCargarTiendas getInstancia() {
		if (instancia1 == null)
		{	
			instancia1 = new VentanaCargarTiendas();
		}
		return instancia1;
	}
	
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Registro de Tiendas");
			{
				jpContenedorTiendas = new JPanel();
				getContentPane().add(jpContenedorTiendas, BorderLayout.NORTH);
				jpContenedorTiendas.setLayout(jpContenedorTiendasLayout);
				jpContenedorTiendas.setPreferredSize(new java.awt.Dimension(782, 470));
				jpContenedorTiendas.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
				jpContenedorTiendas.setLayout(null);
				{
					final JLabel lblCargarTienda = new JLabel();
					jpContenedorTiendas.add(lblCargarTienda);
					lblCargarTienda.setText("Registro de Tiendas");
					lblCargarTienda.setBounds(273, 12, 261, 32);
					lblCargarTienda.setFont(new java.awt.Font("Bitstream Charter",0,26));
				}
				{
					lblDireccion = new JLabel();
					jpContenedorTiendas.add(lblDireccion);
					lblDireccion.setText("Direccion: ");
					lblDireccion.setBounds(67, 106, 101, 15);
				}
				{
					lblHorario = new JLabel();
					jpContenedorTiendas.add(lblHorario);
					lblHorario.setText("Horario Inicio:");
					lblHorario.setBounds(41, 139, 130, 15);
				}
				{
					lblNombre = new JLabel();
					jpContenedorTiendas.add(lblNombre);
					lblNombre.setText("Nombre: ");
					lblNombre.setBounds(67, 75, 90, 15);
				}
				{
					txtNombre = new JTextField();
					jpContenedorTiendas.add(txtNombre);
					txtNombre.setBounds(186, 72, 202, 22);
					txtNombre.setEnabled(false);
					txtNombre.setVisible(false);
				}
				{
					txtDireccion = new JTextField();
					jpContenedorTiendas.add(txtDireccion);
					txtDireccion.setBounds(186, 103, 201, 22);
					txtDireccion.setVisible(false);
				}
				{
					btnCargarTiendas = new JButton();
					jpContenedorTiendas.add(btnCargarTiendas);
					btnCargarTiendas.setText("Cargar");
					btnCargarTiendas.setBounds(442, 72, 216, 22);
				}
				{
					btnGuargarTiendas = new JButton();
					jpContenedorTiendas.add(btnGuargarTiendas);
					btnGuargarTiendas.setText("Guardar");
					btnGuargarTiendas.setBounds(444, 84, 216, 22);
					btnGuargarTiendas.setVisible(false);
				}
				{
					scpTiendas = new JScrollPane();
					jpContenedorTiendas.add(scpTiendas);
					scpTiendas.setBounds(53, 239, 689, 212);
					{
						tblListadoTiendas = new JTable();
						scpTiendas.setViewportView(tblListadoTiendas);
					}
				}
				{
					lblHorarioTerminar = new JLabel();
					jpContenedorTiendas.add(lblHorarioTerminar);
					lblHorarioTerminar.setText("Horario Fin");
					lblHorarioTerminar.setBounds(41, 164, 130, 15);
				}
				{
					lblCodio = new JLabel();
					jpContenedorTiendas.add(lblCodio);
					lblCodio.setText("Codigo");
					lblCodio.setBounds(67, 44, 76, 15);
				}
				{
					txtCodigo = new JTextField();
					jpContenedorTiendas.add(txtCodigo);
					jpContenedorTiendas.add(getBtnLimpiarTienda());
					jpContenedorTiendas.add(getBtnSalirTienda());
					jpContenedorTiendas.add(getBtnBuscar());
					jpContenedorTiendas.add(getCmbHoraInicio());
					jpContenedorTiendas.add(getCmbMinutosInicio());
					jpContenedorTiendas.add(getCmbAmPmInicio());
					jpContenedorTiendas.add(getCmbHoraFin());
					jpContenedorTiendas.add(getCmbMinutosFin());
					jpContenedorTiendas.add(getCmbAmPmFin());
					txtCodigo.setBounds(186, 42, 202, 22);
					txtCodigo.setVisible(false);
				}
			}
			pack();
			this.setSize(792, 519);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}

	public void setListadoTiendas(AbstractTableModel abstractTableModel){
		tblListadoTiendas.setModel(abstractTableModel);
	}
	
	public void mostrarMensaje(String mensaje){
		JOptionPane.showMessageDialog(this, mensaje);
	}
	
	
	public void limpiarCampos(){
		txtDireccion.setText("");
		txtNombre.setText("");	
		txtCodigo.setText("");
		this.cmbHoraInicio.setSelectedIndex(0);
		this.cmbHoraFin.setSelectedIndex(0);
		this.cmbMinutosFin.setSelectedIndex(0);
		this.cmbMinutosInicio.setSelectedIndex(0);
		this.cmbAmPmFin.setSelectedIndex(0);
		this.cmbAmPmInicio.setSelectedIndex(0);
		
	}
	
	public void bloquearEnabled(boolean boo){

		txtDireccion.setEnabled(boo);
		txtNombre.setEnabled(boo);
		this.cmbHoraInicio.setEnabled(boo);
		this.cmbHoraFin.setEnabled(boo);
		this.cmbMinutosFin.setEnabled(boo);
		this.cmbMinutosInicio.setEnabled(boo);
		this.cmbAmPmFin.setEnabled(boo);
		this.cmbAmPmInicio.setEnabled(boo);
		
	
	}
	
	public void bloquearVisible(boolean boo){
		
		txtDireccion.setVisible(boo);
		txtNombre.setVisible(boo);
		this.cmbHoraInicio.setVisible(boo);
		this.cmbHoraFin.setVisible(boo);
		this.cmbMinutosFin.setVisible(boo);
		this.cmbMinutosInicio.setVisible(boo);
		this.cmbAmPmFin.setVisible(boo);
		this.cmbAmPmInicio.setVisible(boo);
	}
	
	public void hablitarCodigo(boolean valor1, boolean valor2){
		txtCodigo.setEnabled(valor1);
		txtCodigo.setVisible(valor2);
	}
	
	public void habilitarBuscarTiendas(boolean valor){
		this.btnBuscar.setEnabled(valor);
		this.btnBuscar.setVisible(valor);
	}
	
	public void habilitarGuardarTiendas(boolean valor){
		this.btnGuargarTiendas.setVisible(valor);
		this.btnGuargarTiendas.setEnabled(valor);
	}

	public void habilitarCargarTiendas(boolean valor){
		this.btnCargarTiendas.setEnabled(valor);
		this.btnCargarTiendas.setVisible(valor);
	}
	
	public void habiliarLimpiarTiendas(boolean valor){
		this.btnLimpiarTienda.setEnabled(valor);
		this.btnLimpiarTienda.setVisible(valor);

	}
	
	public void agregarListener(ActionListener actionListener) {
	     
		btnCargarTiendas.addActionListener(actionListener);
		btnGuargarTiendas.addActionListener(actionListener);
		btnLimpiarTienda.addActionListener(actionListener);
		btnSalirTienda.addActionListener(actionListener);
		btnBuscar.addActionListener(actionListener);
	}
	
	
	public String datosLlenos() {
		// TODO Auto-generated method stub
		if(this.getDireccion().equals("") || this.getCodigo().equals("") || this.getNombre().equals("") || this.getHoraInicioTienda().equals("00:00am") || this.getHoraInicioTienda().equals("00:00pm") || this.getHoraFinTienda().equals("00:00am") || this.getHoraFinTienda().equals("00:00pm") ){
			return "";
		}
		return "llenos";
	}
	
	
	public String getCodigo(){
		return this.txtCodigo.getText();
	}
	
	public String getNombre(){
		return this.txtNombre.getText();
	}
	
	public String getDireccion(){
		return this.txtDireccion.getText();
	}

	
	public void cambiarCargarTienda(){
		 this.btnCargarTiendas.setText("Agregar Tienda");
	}
	
	private JButton getBtnLimpiarTienda() {
		if(btnLimpiarTienda == null) {
			btnLimpiarTienda = new JButton();
			btnLimpiarTienda.setText("Limpiar");
			btnLimpiarTienda.setBounds(444, 125, 216, 22);
			btnLimpiarTienda.setEnabled(false);
			btnLimpiarTienda.setVisible(false);
		}
		return btnLimpiarTienda;
	}
	
	private JButton getBtnSalirTienda() {
		if(btnSalirTienda == null) {
			btnSalirTienda = new JButton();
			btnSalirTienda.setText("Salir");
			btnSalirTienda.setBounds(669, 14, 80, 22);
		}
		return btnSalirTienda;
	}
	
	private JButton getBtnBuscar() {
		if(btnBuscar == null) {
			btnBuscar = new JButton();
			btnBuscar.setText("Buscar");
			btnBuscar.setBounds(408, 42, 105, 22);
			btnBuscar.setVisible(false);
			btnBuscar.setVisible(false);
		}
		return btnBuscar;
	}
	
	private JComboBox getCmbHoraInicio() {
		if(cmbHoraInicio == null) {
			ComboBoxModel cmbHoraInicioModel = 
					new DefaultComboBoxModel(
							new String[] { "Item One", "Item Two" });
			cmbHoraInicio = new JComboBox();
			cmbHoraInicio.setModel(cmbHoraInicioModel);
			cmbHoraInicio.setBounds(186, 135, 47, 22);
			cmbHoraInicio.setVisible(false);
		}
		return cmbHoraInicio;
	}
	
	private JComboBox getCmbMinutosInicio() {
		if(cmbMinutosInicio == null) {
			ComboBoxModel cmbMinutosInicioModel = 
					new DefaultComboBoxModel(
							new String[] { "Item One", "Item Two" });
			cmbMinutosInicio = new JComboBox();
			cmbMinutosInicio.setModel(cmbMinutosInicioModel);
			cmbMinutosInicio.setBounds(238, 135, 51, 22);
			cmbMinutosInicio.setVisible(false);
		}
		return cmbMinutosInicio;
	}
	
	private JComboBox getCmbAmPmInicio() {
		if(cmbAmPmInicio == null) {
			ComboBoxModel cmbAmPmModel = 
					new DefaultComboBoxModel(
							new String[] { "Item One", "Item Two" });
			cmbAmPmInicio = new JComboBox();
			cmbAmPmInicio.setBounds(295, 136, 61, 20);
			cmbAmPmInicio.setModel(cmbAmPmModel);
			cmbAmPmInicio.setVisible(false);
		}
		return cmbAmPmInicio;
	}
	
	private JComboBox getCmbHoraFin() {
		if(cmbHoraFin == null) {
			ComboBoxModel cmbHoraFinModel = 
					new DefaultComboBoxModel(
							new String[] { "Item One", "Item Two" });
			cmbHoraFin = new JComboBox();
			cmbHoraFin.setModel(cmbHoraFinModel);
			cmbHoraFin.setBounds(187, 160, 49, 22);
			cmbHoraFin.setVisible(false);
		}
		return cmbHoraFin;
	}
	
	private JComboBox getCmbMinutosFin() {
		if(cmbMinutosFin == null) {
			ComboBoxModel cmbMinutosFinModel = 
					new DefaultComboBoxModel(
							new String[] { "Item One", "Item Two" });
			cmbMinutosFin = new JComboBox();
			cmbMinutosFin.setModel(cmbMinutosFinModel);
			cmbMinutosFin.setBounds(237, 160, 51, 22);
			cmbMinutosFin.setVisible(false);
		}
		return cmbMinutosFin;
	}
	
	private JComboBox getCmbAmPmFin() {
		if(cmbAmPmFin == null) {
			ComboBoxModel cmbAmPmFinModel = 
					new DefaultComboBoxModel(
							new String[] { "Item One", "Item Two" });
			cmbAmPmFin = new JComboBox();
			cmbAmPmFin.setModel(cmbAmPmFinModel);
			cmbAmPmFin.setBounds(294, 160, 62, 22);
			cmbAmPmFin.setVisible(false);
		}
		return cmbAmPmFin;
	}
	
	public String getHoraInicioTienda(){
		String hora = cmbHoraInicio.getSelectedItem().toString()+":"+cmbMinutosInicio.getSelectedItem().toString()+cmbAmPmInicio.getSelectedItem().toString();
		return hora;
	}

	public String getHoraFinTienda(){
		String hora = cmbHoraFin.getSelectedItem().toString()+":"+cmbMinutosFin.getSelectedItem().toString()+cmbAmPmFin.getSelectedItem().toString();
		return hora;
	}
	
	public void setDatosHoraInicio(String[] horas, String[] minutos, String[] ampm) {
		ComboBoxModel cmbHorasModel = new DefaultComboBoxModel(horas);
		ComboBoxModel cmbMinutosModel = new DefaultComboBoxModel(minutos);
		ComboBoxModel cmbAmpmModel = new DefaultComboBoxModel(ampm);
		this.cmbHoraInicio.setModel(cmbHorasModel);
		this.cmbMinutosInicio.setModel(cmbMinutosModel);
		this.cmbAmPmInicio.setModel(cmbAmpmModel);
		
	}
	public void setDatosHoraFin(String[] horas, String[] minutos, String[] ampm) {
		ComboBoxModel cmbHorasModel = new DefaultComboBoxModel(horas);
		ComboBoxModel cmbMinutosModel = new DefaultComboBoxModel(minutos);
		ComboBoxModel cmbAmpmModel = new DefaultComboBoxModel(ampm);
		this.cmbHoraFin.setModel(cmbHorasModel);
		this.cmbMinutosFin.setModel(cmbMinutosModel);
		this.cmbAmPmFin.setModel(cmbAmpmModel);
	}

	public void setDatosExistente(String direccion, String nombre, String horaInicio,
			String horaFin) {
		// TODO Auto-generated method stub
		int aux1, aux2;
		this.txtDireccion.setText(direccion);
		this.txtNombre.setText(nombre);
	
			aux1 = Integer.parseInt(horaInicio.substring(0, 2));
			cmbHoraInicio.removeAll();
			cmbHoraInicio.setSelectedIndex(aux1);
			aux1 = Integer.parseInt(horaInicio.substring(3, 5));
			cmbMinutosInicio.removeAll();
			cmbMinutosInicio.setSelectedIndex(aux1);
			cmbAmPmInicio.removeAll();
			
			if (horaInicio.substring(5, 6).equalsIgnoreCase("a")){
				cmbAmPmInicio.setSelectedIndex(0);
			}
			else {
				cmbAmPmInicio.setSelectedIndex(1);
			}
		
			aux2 = Integer.parseInt(horaFin.substring(0, 2));
			cmbHoraFin.removeAll();
			cmbHoraFin.setSelectedIndex(aux2);
			aux2 = Integer.parseInt(horaFin.substring(3, 5));
			cmbMinutosFin.removeAll();
			cmbMinutosFin.setSelectedIndex(aux2);
			cmbAmPmFin.removeAll();
			if (horaFin.substring(5, 6).equalsIgnoreCase("a")){
				cmbAmPmFin.setSelectedIndex(0);
			}
			else {
				cmbAmPmFin.setSelectedIndex(1);
			}
	}
	
}
